Monitoring and controlling gaming-environments

ABSTRACT

Techniques for monitoring and controlling gaming-environments are disclosed. Techniques can, for example, facilitate installation of one or more games on a plurality of gaming-machines. A gaming monitor/controller can determine whether gaming-machines in a gaming-environment are suitable for or capable of executing a particular game(s). In addition, data can be generated to determine whether a gaming-machine is suitable or capable of executing a game. This data can be displayed, for example, to assist a human operator in determining which new games or updates are more appropriate for a particular gaming-machine or group of gaming-machines. Diagnostic information can also be provided to, for example, assist the human operator in determining whether corrective actions can be taken in order to play a game on a particular machine or combination of machines (e.g., two gaming-machines can be combined together to run a game, or a component can be taken from another gaming-machine in order to run the game).

BACKGROUND OF THE INVENTION

Traditional gaming-machines (e.g., mechanical slot machines) primarily use mechanical components. More modern gaming-machines can additionally include various electronics components (e.g., processor, memory) that are typically provided for a computing system or a computer (e.g., Personal Computer). In addition, modern gaming machine can be connected to a wide variety of devices are available that can be connected to a modern gaming-machine (e.g., lights, ticket printers, card readers, speakers, bill validators, ticket readers, coin acceptors, display panels, key pads, coin hoppers, button pads). These devices can be built into the gaming-machine or its components (e.g., a top box which usually sits on top of the gaming-machine).

Typically, utilizing a master gaming controller, a gaming-machine can control various combinations of devices that allow a player to play a game on the gaming-machine and also encourage game play on the gaming-machine. For example, a game played on a gaming-machine usually requires a player to input money or indicia of credit into the gaming-machine, indicate a wager amount, and initiate a game play. These steps require the gaming-machine to control input devices, such as bill validators and coin acceptors, to accept money into the gaming-machine and recognize user inputs from devices, including key pads and button pads, to determine the wager amount and initiate game play. After game play has been initiated, the gaming-machine determines a game outcome, presents the game outcome to the player and may dispense an award of some type depending on the outcome of the game.

The operations described above may be carried out on the gaming-machine when the gaming-machine is operating as a “stand alone” unit or linked in a network of some type to a group of gaming-machines. As technology in the gaming industry progresses, more and more gaming services are being provided to gaming-machines via communication networks that link groups of gaming-machines to a remote computer that provides one or more gaming services. As an example, gaming services that may be provided by a remote computer to a gaming-machine via a communication network of some type include player tracking, accounting, cashless award ticketing, lottery, progressive games and bonus games.

Typically, network gaming services enhance the game playing capabilities of the gaming-machine or provide some operational advantage in regards to maintaining the gaming-machine. Thus, network gaming services provided to groups of gaming-machines linked over a dedicated communication network of some type have become very popular in the gaming industry. In general, the dedicated communication network is not accessible to the public. To justify the costs associated with the infrastructure needed to provide network gaming services on a dedicated communication network, a certain critical number of gaming-machines linked in a network of some type must utilize the service. Thus, many of the network gaming services are only provided at larger gaming establishments where a large number of gaming-machines are deployed.

A progressive game network offering progressive game services is one example where a group of gaming-machines are linked together using a dedicated network to provide a network gaming service. The progressive game services enabled by the progressive game network increase the game playing capabilities of a particular gaming-machine by enabling a larger jackpot than would be possible if the gaming-machine was operating in a “stand alone” mode. The potential size of the jackpot increases as the number gaming-machines connected in the progressive network is increased. The size of the jackpot tends to increase game play on gaming-machines offering a progressive jackpot which justifies the costs associated with installing and maintaining the dedicated progressive game network.

Within the gaming industry, a particular gaming entity may desire to provide network gaming services and track the performance of all the gaming-machines under the control of the entity. The gaming-machines under the control of a particular entity may be globally distributed in many different types of establishments. Casinos, convenience stores, supermarkets, bars and boats are a few examples of establishments where gaming-machines may be placed.

FIG. 1A is a block diagram depicting gaming-machines distributed in different establishments partially connected by a dedicated communication network for a typical gaming entity currently operating in the gaming industry. In FIG. 1, the gaming entity utilizes a central office 142. The gaming-machines, 102, 104, 106, 114, 116, 136 and 138 for the gaming entity are located in two casinos, 110 and 122, and a store 140. A gaming entity may operate hundreds, thousands or ten of thousands of gaming-machines. Since gaming is allowed in many locations throughout the world, the two casinos, 110 and 122, the central office 142 and the store may be distributed over a wide geographic area. For instance, the casino 110 may be located in Atlantic City, N.J., the casino 122 may be located in Australia, the central office may be located in Las Vegas, Nev. and the store may be located in Reno, Nev.

Within the casinos, the gaming-machines may be connected to one or more database servers via one or more dedicated networks. The database servers are usually located in the backroom of the casino. For instance, in casino 110, gaming-machines 102, 104 and 106 are connected to a database server 100 via a dedicated network 108. The dedicated network 108 may be used to send accounting information and player tracking information from the gaming-machines to the database server 110. In casino 122, the gaming-machines 114, 116, 118 may send accounting information and player tracking information to a database server using the dedicated network 120. Other dedicated networks (not shown) in casinos, 110 and 112, may provide such network gaming services as bonus game play, progressive game play and cashless ticketing.

In casinos 110 and 122, the database servers 100 and 112 may store and process accounting data from the gaming-machines in communication with the database servers. For instance, an accounting report detailing the performance of individual and groups of gaming-machines may be generated from the data stored on the database servers 100 and 112. In addition, accounting data or reports may be sent to the database server 124 in the central office 142 from each casino. These reports may contain game performance data collected from a number of gaming-machines as well as hotel operations data. The data from the casinos may be sent to the central office using an expensive dedicated leased line 132 using a frame relay network.

The database server 124 may be used to generate reports summarizing the performance of all the gaming-machines within the gaming entity (e.g. casino 110, casino 122 and store 140). The reports may be accessed locally using the local access points 126 and 128 via the local network. In addition, reports may be remotely accessed using a dial in number for a limited number of users. For instance, an executive traveling on the road might view gaming-machine performance data from the remote access point 134 where the remote access point 134 may be a hotel room.

Although the network allows an operator to gather information from the gaming machines, it does not provide for configuration control of the gaming machines. Traditionally, due to security requirements, regulatory requirements and network limitations, the flow of information has been from the gaming machines to the operator but the flow of information from the operator to the gaming machines has been very limited. Furthermore, gaming operators have not remotely managed large numbers of gaming machines with wagering capabilities, such as thousands of gaming machines found in a large casino. As such, it is desired by operators to have increased control over gaming machine including remote configuration capabilities. Accordingly, methods and apparatus that allow for remote configuration control of gaming machines in a secure manner are described as follows.

SUMMARY OF THE INVENTION

Broadly speaking, the invention pertains to techniques for monitoring and controlling gaming-environments. Typically, a gaming environment can be configured for playing a number of games on a plurality of gaming-machines. In accordance with one aspect of the invention, techniques for facilitating installation of one or more games on a plurality of gaming-machines are disclosed. It will be appreciated that a gaming monitor/controller can determine whether each one of the plurality of gaming-machines in a gaming-environment are suitable for or capable of executing one or more games in accordance with one embodiment of the invention. In addition, data can be generated to determine whether a gaming-machine is suitable or capable of executing a game. This data can be displayed, for example, to assist a human operator in determining which new games or updates are more appropriate for a particular gaming-machine or group of gaming-machines in accordance with one embodiment of the invention. It will also be appreciated that diagnostic information can also be provided to, for example, assist the human operator in determining whether corrective actions can be taken in order to play a game on a particular machine or combination of machines (e.g., two gaming-machines can be combined together to run a game, or a component can be taken from another gaming-machine in order to run the game).

These and other features of the present invention will be presented in more detail in the following detailed description of the invention and the associated figures.

BRIEF DESCRIPTION OF THE DRAWINGS

The present invention will be readily understood by the following detailed description in conjunction with the accompanying drawings, wherein like reference numerals designate like structural elements, and in which:

FIG. 1A depicts a gaming-environment in accordance with one embodiment of the invention.

FIG. 1B depicts an automated gaming analyzer in accordance with one embodiment of the invention.

FIG. 1C depicts a game-installation method for installing and/or downloading games in a gaming environment in accordance with one embodiment of the invention.

FIG. 2 depicts an automated gaming analyzer in greater detail in accordance with one embodiment of the invention.

FIG. 3A depicts an exemplary Graphical User Interface that can be provided in accordance with one embodiment of the invention.

FIGS. 3B and 3C depict a monitoring method for monitoring a gaming-environment in accordance with another embodiment of the invention.

FIG. 4 depicts a video gaming-machine that can be used in monitoring and controlling gaming-environment in accordance with one embodiment of the invention.

FIG. 5 illustrates a block diagram of a gaming system of the present invention.

DETAILED DESCRIPTION OF THE INVENTION

As suggested above, gaming environments have evolved to encompass a wide variety of games that can be played on various gaming-machines. In a complex gaming-environment, each gaming-machine can include numerous hardware and software components. In addition, rigorous gaming-regulations need to be met. As a result, it has become increasing more difficult and time consuming to manually monitor and control the gaming-environments. In particular, common operations, such as, manual installation of new games (or updating old games) has become increasing more difficult and time consuming as, among other things, specific knowledge of various gamine-requirements (e.g., technical, legal) and gaming-machines is required to successfully monitor and maintain a modern gaming environment.

Partly because of the complexity and sheer number of games and gaming-machines which are available today, installation and updating games can be a frustrating experience where, for example, a particular game may be installed on a gaming-machine only to later realize that the game was not suitable for the gaming machine. As such, improved techniques for monitoring and controlling gaming-environments would be useful. In particular, methods and apparatus that allow for and simplify the configuration of a large number of gaming machines in a gaming network including the downloading of new gaming software to groups of gaming machines are desirable.

Accordingly, the invention pertains to techniques for monitoring and controlling gaming-environments. Typically, a gaming environment can be configured for playing a number of games on a plurality of gaming-machines. In accordance with one aspect of the invention, techniques for facilitating installation of one or more games on a plurality of gaming-machines are disclosed. It will be appreciated that a gaming monitor/controller can determine whether gaming-machine(s) in a gaming-environment are suitable or capable of executing one or more games. In addition, data can be generated to determine whether a gaming-machine is suitable or capable of executing a game. This data can be displayed, for example, to assist a human operator in determining which new games or updates are more appropriate for a particular gaming-machine or group of gaming-machines in accordance with one embodiment of the invention. It will also be appreciated that data can be filtered and diagnostic information can be provided. Filtering and/or diagnostic information, among other things, can assist the human operator in determining whether corrective action can be taken in order to allow a particular machine or combination of machines to play a particular game (e.g., two gaming-machines can be combined together to run a game, or a component can be taken from another gaming-machine in order to run the game).

Embodiments of these aspects of the invention are discussed below with reference to FIGS. 1-5. However, those skilled in the art will readily appreciate that the detailed description given herein with respect to these figures is for explanatory purposes as the invention extends beyond these limited embodiments.

FIG. 1B depicts an automated gaming analyzer 170 in accordance with one embodiment of the invention. The automated gaming analyzer 170 can effectively monitor and/or control a gaming environment 172 comprising a plurality of gaming-machines (M1 and M2). Typically, each of the gaming-machines (M1 and M2) is capable of executing one or more games. In general, a game can have one or more gaming-requirements. A gaming-requirement can, for example, be associated with various technical requirements (e.g., hardware, software), on legal requirements (e.g., regulations) that may vary for different jurisdictions. In any case, the automated gaming analyzer 170 can receive or identify one or more games (G1 and G2).

The gaming analyzer 170 may allow an operator to specify a game for particular game or a layout of games for group of networked gaming machines. It should be noted that every gaming machine may not be capable or suitable for operable to execute every type of game that is available to the operator. By way of example, a particular game may require a technical feature, for example, a minimum amount of random access memory (RAM), or a particular component (e.g., a high-resolution display), a particular operating system or available licenses for a particular game. Thus if the capabilities of a gaming-machine is not known to an operator and the gaming machines are enabled with remote configuration capability, the operator can select a game for execution on a gaming-machine that is incompatible with the gaming-machine.

It will be appreciated that the automated gaming analyzer 170 can determine whether each one of the gaming-machines (e.g., M1, M2) are suitable or capable of executing one or more games (e.g., G1, G2). Furthermore, based on this determination, the automated gaming analyzer 170 can generate data 177 that indicates whether a gaming-machine (e.g., M1, M2) is suitable or capable of playing a particular game(s) (e.g. G1, G2). Moreover, data 177 can be displayed by the automated gaming analyzer as data 178. It will be appreciated that this data (178) can assist a human operator in making informed decisions regarding, for example, installation of games (e.g., new games, updates to games). In general, data 177 can be generated and displayed to provide information regarding the capability or suitability of various gaming-machines with respect to execution of different games (e.g., new games, updates to older games, new version of a game). In addition, the automated gaming analyzer 170 can be configured to initiate the installation of games (e.g., G1, G2) on the gaming-machines (e.g., M1, M2) when it determines that a gaming-machine is capable or suitable of running a game.

In particular embodiments, the interface provided by the gaming analyzer 170 may allow an operator to perform an analysis on individual gaming machines or groups of groups of gaming machines. For instance, the analyzer may display a list of games and a layout of the gaming machines on a casino floor. After selecting a game from the list of games, the gaming analyzer 170 may display all the machines on the casino floor that are operable to execute the selected game. To select the game, the operator may click on it or simply drag a cursor over the desired game. Conversely, the operator can select a particular gaming machine and the analyzer 170 can, in response to the selection, display a number of which games that can be executed by the gaming-machine.

In addition, a human can learn additional information about each gaming machine, (e.g., type of gaming machine and its capability). The gaming analyzer 170 can be configured to allow a human to display or high-light groups of gaming machines that, for example, are of a certain type or share a common capability, (e.g., the ability to execute a particular type of game). Those skilled in the art will appreciate that gaming-analyzer 170 can provide numerous other capabilities. A such, the present invention is not limited to filtering capabilities, which are described below for illustrative purposes only.

As another example, a human operator can view all or a portion of the gaming machines of interest. For example, by drawing a box around a group of gaming-machines, the operator can focus on the gaming machines in that box. Subsequently, the gaming the analyzer 170 can be enabled to perform various operations on the selected gaming machines. For instance, when the human operator selects a game, the gaming analyzer 177 can display only the gaming-machines capable of executing that game in the selected group. The analyzer, if desired by the operator, may be operable to zoom in on these gaming machines.

To further elaborate, FIG. 1C depicts an game-installation method 180 for installing and/or downloading games in a gaming environment in accordance with one embodiment of the invention. The game-installation method 180 can, for example, be used by the automated gaming analyzer 170 to initiate installation and/or downloading of various games (e.g., G1 and G2) in gaming-machines (M1 and M2) in the gaming environment 172 shown in FIG. 1B. Initially, one or more games are received or identified (182). It should be noted that each of the one or more games can be executed on a gaming-machines that meets or exceeds at least one gaming-requirement for executing the game. Subsequently, it is determined (184) whether each of the gaming-machines is capable of or suitable for executing the one or more games. Next, data is generated (186) that indicates whether at least one of the gaming-machines is suitable for or capable of executing the one or more games.

Typically, the data can be generated (186) for all of the gaming-machines (e.g., upon request) and can be displayed (e.g., for a human operator). As such, a determination (188) is made as to whether to display data regarding the capability or suitability of one or more gaming-machines. Accordingly, this data can be displayed (190) to indicate that at least one gaming-machine is capable or suitable for executing the one or more games. As suggested above, this data can be used to assist, for example, a human operator or an application program with installation or downloading various games on different machines. As such, a human operator and/or application program can provide input regarding whether to initiate downloading and/or installation of the one or more games on a particular gaming-machine.

Alternatively, installation and/or downloading of one or more games on one or more gaming-machines can be initiated automatically without requiring external input (e.g., from a human operator or application program). In other words, based on the determination (184) of whether a gaming-machine is suitable for or capable of executing a particular game, downloading and/or installation of the game can be initiated without requiring external input. In any case, if it is determined (192) to initiate downloading and/or installation of at least one game, downloading and/or installation of the game(s) is initiated (194) and the installation method 180 ends. However, it is determined (192) not to install a game, the installation method 180 ends without initiating the downloading or installation of any games. The installation method 180 also ends after installation of one or more games have been initiated (194).

In other embodiments, after a gaming machine or group of gaming machines have been identified that are not suitable to execute a game or other software component. The gaming analyzer 170 may be configured to provide suggestions in regards to remedial actions. For instance, the gaming analyzer 170 may indicate that a target gaming machine may be able to operate with a subset of capabilities afforded by a particular game if it is configured in a certain manner. The gaming analyzer 170 may display the subset of capabilities that are available and the configuration changes necessary to achieve the subset of capabilities.

In one embodiment, the gaming analyzer 170 is operable to display a simulation of a gaming machine and/or game with a full set of capabilities as compared to the subset of capabilities. For instance, if to execute a game, certain features have to be disabled to allow it to operate on a particular gaming device, such as high-resolution graphics, then the gaming analyzer 170 may be operable to display to the operator an example of the game with the high resolution graphics and a game without the high resolution graphics. In another example, if a gaming machine does not include a particular peripheral device associated with a selected game, such as a spinning wheel or spinning globe but can be configured to operate the peripheral device, the gaming analyzer 170 can display a simulation or an actual video clip of a gaming machine operating with peripheral device and a gaming machine operating without the peripheral device to allow the operator to assess a loss in functionality. These comparisons may be made side by side on the display screen coupled to the gaming analyzer 170.

In another embodiment, when a gaming machine is not suitable for a particular game, the gaming analyzer 170 is operable to suggest a different game that is suitable for the gaming machine that shares some features, such as a common theme or game play aspects, with the unsuitable game. The gaming analyzer 170 can, for example, display the unsuitable game and one or more recommended games in a side by side manner on display screen with the features in common highlighted.

In general, the gaming analyzer 170 is operable to allow a user to compare two or more games on a display screen selected by the user. Additionally, the gaming analyzer 170 may include a search capability that allows an operator to search for games with features in common. The search results may be displayed using text, graphics, simulations or combinations thereof.

For instance, the operator may be able to search for games that 1) share a common theme, 2) are suitable for a particular type of gaming machine, 3) use a particular color theme, 4) use a particular denomination, etc. For each search, the gaming analyzer 170 may display simulations of all the games meeting the searched for criteria.

In yet another embodiment, when a game or other piece of software is not suitable for a particular gaming device, the analyzer may suggest upgrades to the gaming device that would make it suitable. The upgrades may include but are not limited to software upgrades, license upgrades, hardware upgrades and combination thereof. The gaming analyzer 170 may include cost/benefit models that allow it to estimate a cost for an upgrade and predict the benefits of an upgrade. As an example, if an upgrade to make a gaming device suitable to play a particular game required a new display, the gaming analyzer 170 may be operable to predict how long it would take to order the display, how much it would cost, suggest that the display could be taken from another gaming device (cannibalize a first gaming device to make a second gaming device operable), predict the installation time, order the display, schedule an installation time or generate an installation request for a maintenance department.

In still another embodiment, the gaming analyzer 170 is operable to receive a layout for a group of gaming machine and indicate any changes necessary to achieve the desired layout. For instance, after the operator has input a desired game layout including games to be played on each gaming machine, the gaming analyzer 170 can suggest upgrading a portion of the machines in some manner and/or moving a portion of the gaming machines from one location to another location to achieve the desired layout. The gaming analyzer 170 may be operable to display various layout scenarios that approximate a desired layout to some degree but involve fewer upgrades or movements of gaming machines. Again, the gaming analyzer 170 may include cost/benefit models that allow a user to estimate the costs and benefits associated with changing the layout of a group of gaming machines.

The present invention is not limited to remote configuration of games on the gaming machine. It may be applied to any device coupled to a gaming machine or any gaming device coupled to the network associated with the gaming analyzer 170. For instance, the gaming analyzer 170 may be used for remote configuration of firmware/software on a peripheral device coupled to a gaming machine, such as a player tracking unit, bill validator, coin hopper, printer, display. As another example, the gaming analyzer 170 may be operable to configure software for devices such as casino kiosks, cashier terminals, pit terminals and hand-held devices carried by a casino employee. In yet another embodiment, the gaming analyzer can be used to configure gaming devices at table games or stand-alone signs.

FIG. 2 depicts an automated gaming analyzer 200 in greater details in accordance with one embodiment of the invention. As shown in FIG. 2, the automated gaming analyzer 200 comprises several components, namely, a data collector 201, an analyzer 202, a report generator 204, a storage 206 (e.g., database), a Graphical User Interface (GUI) Layer 208. In addition, input/output device(s) 210 (e.g., keyboard, speakers, mouse) and a display/console 212 is provided for input/output operations via the GUI Layer 208. The data collector 201 collects data regarding the capabilities of various gaming-machines (e.g., M1, M2) that are monitored/controlled by the automated gaming analyzer 200. There are various ways for collecting the information. Those skilled in the art will know that each machine can, for example, be queried (e.g., polled) for its capabilities (e.g., amount of RAM, configured components) at a determined time interval. In general, each gaming-machines may have a number of capabilities that correspond to gaming-requirements of a game. For example, a gaming-machine M1 can have capabilities M1C1 and M1C2 that respectively correspond to the gaming-requirements G2R1 and G2R2 of a game G2. In general, the collector 201 can collect the requirements for various games (e.g., G1 and G2) and store them in a storage (e.g., database) that also stores the capabilities of the gaming-machines.

After data has been collected in the storage 206, the analyzer 202 can start analyzing the data in order to determine whether a gaming-machine is capable or suitable for playing a particular game. Generally, this determination requires determining whether a particular gaming-machine (e.g., M2) meets or exceeds the gaming-requirements of a particular game (G1). Based on the analysis performed by the analyzer 202, the report generator 204 can generate data that indicates whether a particular gaming-machine is capable of or suitable for playing a game. Moreover, this data may be presented to a human via the GUI Layer 208. In other words, this data can be displayed on the display 212. A human may also interact via the input/output device(s) 210 to request specific information about a particular gaming-machine(s) or game(s). Data may be filtered and more detailed information regarding, for example, why a game cannot be executed on a particular gaming-machine, what actions can be taken to allow a game to be executed on a particular gaming-machine, and so on.

To further elaborate, FIG. 3A depicts an exemplary Graphical User Interface that can be provided in accordance with one embodiment of the invention. As suggested by FIG. 3A, a main-menu 301 can include submenus as options that allow information to be presented at least based on games (302) or gaming-machines (304). A human operator may interact with the submenus (302 and 304) to obtain information regarding gaming-machines and games. As such, it will be readily apparent that, for example, game 1 can be played on the gaming-machines M2 and M4, but not on the gaming-machines M1 and M3 (302(a)). Similarly, by selecting the gaming-machines option (304), the user may also readily see that, for example, gaming-machine M1 is suitable for or capable of executing the games G1, G3 and G4, but not suitable for or capable of running the games G2 and G5 (304(a)). In addition, diagnostic information can be obtained to determine why, for example, a game G2 cannot be executed by a gaming-machine G2. As suggested in display (304(b)), additional information can be displayed that, for example, indicates that the combination of the gaming-machines M1 and M6 can execute the game G2, a particular component is needed from a gaming-machine M5 in order to run the game G2 on the gaming-machine M2, and so on.

FIGS. 3B and 3C depict a monitoring method for monitoring a gaming-environment in accordance with another embodiment of the invention. More particularly, FIGS. 3C and 3D depict a polling method 300 and assessing method 350 that can respectively gather information about the gaming-environment and display the information. Referring now to FIG. 3B, if it is determined (302) whether to initiate polling of the gaming-environment. Accordingly, one or more gaming-machines can be polled (304) in order to determine their capabilities with respect to executing one or more games.

It will be appreciated that the polling (304) can be initiated, for example, at a determined time interval, or when a request is received (e.g., from a human operator or application program). In any case, after the polling has been initiated (304), it is determined (306) whether data has been received from the gaming-machine(s). If it is determined (306) that data has been received, it is determined (308) whether to store the data. Typically, data is stored (310) in a database after verification and processing to ensure the integrity of data. Subsequently, it is determined (312) whether more data is needed (e.g., whether data has been received from all of a selected group of gaming-machines). If it is determined (312) that more data is needed, additional data can be received (306) and stored (310) in the database. The polling method 300 ends if it is determined (312) that no more data is needed.

Referring now to FIG. 3C, an assessing method 350 initially determines (352) whether to initiate assessing the gaming-environment. It will be appreciated that, for example, a human operator may effectively initiate the assessing (352) of the gaming-environment by making a request via a GUI. After the accessing process has been initiated (352), it is determined (354) whether to provide data for the game(s) and/or gaming-machine(s). This determination can, for example, be made based on input received from a human operator via a Graphical User Interface. The human operator may, for example, select a menu-item.

Accordingly, information that indicates whether one or more gaming-machines are capable of or suitable for executing one or more games can be displayed (356). Alternatively or additionally, information that indicates whether one or more games are suitable for or capable of being executed on one or more gaming-machines is displayed (358). In other words, information can be indexed based on gaming-machine(s) and/or game(s). In any case, after information is displayed (356 and/or 358), it is determined (360) whether to provide diagnostic information regarding the game(s) and/or gaming-machine(s). Subsequently, it is determined (362) whether it is possible to combine two or more gaming-machines to execute a game. Accordingly, information that indicates that two or more gaming-machines can be combined to execute one or more games can be displayed (364). It is also determined (368) whether one or more components (e.g., reels, input devices, displays) which are available in the gaming-environment can be acquired and configured for one or more gaming-machines in order to run a particular game. Accordingly, information can be displayed (370) to indicate which components of gaming-machines may be acquired to allow a gaming-machine(s) to execute a particular game. These components can, for example, be from other gaming-machines in the gaming-environment. Thereafter, it is determined (380) whether to end assessing the gaming-environment. If it is determined (380) not to end assessing process, more information can be displayed (356, 358) based on game(s) and/or gaming-machine(s). The assessing method 350 ends if it is determined (380) to end assessing the gaming-environment (e.g., when input from a human operator is received).

FIG. 4 depicts a video gaming-machine 2 that can be used in monitoring and controlling gaming-environment in accordance with one embodiment of the invention. Machine 2 includes a main cabinet 4, which generally surrounds the machine interior (not shown) and is viewable by users. The main cabinet includes a main door 8 on the front of the machine, which opens to provide access to the interior of the machine. Attached to the main door are player-input switches or buttons 32, a coin acceptor 28, and a bill validator 30, a coin tray 38, and a belly glass 40. Viewable through the main door is a video display monitor 34 and an information panel 36. The display monitor 34 will typically be a cathode ray tube, high resolution flat-panel LCD, or other conventional electronically controlled video monitor. The information panel 36 may be a back-lit, silk screened glass panel with lettering to indicate general game information including, for example, a game denomination (e.g. $0.25 or $1). The bill validator 30, player-input switches 32, video display monitor 34, and information panel are devices used to play a game on the game machine 2. The devices are controlled by circuitry (e.g. the master gaming controller) housed inside the main cabinet 4 of the machine 2. Many possible games, including mechanical slot games, video slot games, video poker, video black jack, video pachinko and lottery, may be provided with gaming-machines of this invention.

The gaming-machine 2 includes a top box 6, which sits on top of the main cabinet 4. The top box 6 houses a number of devices, which may be used to add features to a game being played on the gaming-machine 2, including speakers 10, 12, 14, a ticket printer 18 which prints bar-coded tickets 20, a key pad 22 for entering player tracking information, a florescent display 16 for displaying player tracking information, a card reader 24 for entering a magnetic striped card containing player tracking information, and a video display screen 42. The ticket printer 18 may be used to print tickets for a cashless ticketing system. Further, the top box 6 may house different or additional devices than shown in the FIG. 4. For example, the top box may contain a bonus wheel or a back-lit silk screened panel which may be used to add bonus features to the game being played on the gaming-machine. As another example, the top box may contain a display for a progressive jackpot offered on the gaming-machine. During a game, these devices are controlled and powered, in part, by circuitry (e.g. a master gaming controller) housed within the main cabinet 4 of the machine 2.

Understand that gaming-machine 2 is but one example from a wide range of gaming-machine designs on which the present invention may be implemented. For example, not all suitable gaming-machines have top boxes or player tracking features. Further, some gaming-machines have two or more game displays—mechanical and/or video. And, some gaming-machines are designed for bar tables and have displays that face upwards. As another example, a game may be generated in on a host computer and may be displayed on a remote terminal or a remote gaming device. The remote gaming device may be connected to the host computer via a network of some type such as a local area network, a wide area network, an intranet or the Internet. The remote gaming device may be a portable gaming device such as but not limited to a cell phone, a personal digital assistant, and a wireless game player. Those of skill in the art will understand that the present invention, as described below, can be deployed on most any gaming-machine now available or hereafter developed.

Returning to the example of FIG. 4, when a user wishes to play the gaming-machine 2, he or she inserts cash through the coin acceptor 28 or bill validator 30. Additionally, the bill validator may accept a printed ticket voucher which may be accepted by the bill validator 30 as an indicia of credit when a cashless ticketing system is used. At the start of the game, the player may enter playing tracking information using the card reader 24, the keypad 22, and the florescent display 16. Further, other game preferences of the player playing the game may be read from a card inserted into the card reader. During the game, the player views game information using the video display 34. Other game and prize information may also be displayed in the video display screen 42 located in the top box.

During the course of a game, a player may be required to make a number of decisions, which affect the outcome of the game. For example, a player may vary his or her wager on a particular game, select a prize for a particular game selected from a prize server, or make game decisions which affect the outcome of a particular game. The player may make these choices using the player-input switches 32, the video display screen 34 or using some other device which enables a player to input information into the gaming-machine. In some embodiments, the player may be able to access various game services such as concierge services and entertainment content services using the video display screen 34 and one more input devices.

During certain game events, the gaming-machine 2 may display visual and auditory effects that can be perceived by the player. These effects add to the excitement of a game, which makes a player more likely to continue playing. Auditory effects include various sounds that are projected by the speakers 10, 12, 14. Visual effects include flashing lights, strobe lights or other patterns displayed from lights on the gaming-machine 2 or from lights behind the belly glass 40. After the player has completed a game, the player may receive game tokens from the coin tray 38 or the ticket 20 from the printer 18, which may be used for further games or to redeem a prize. Further, the player may receive a ticket 20 for food, merchandise, or games from the printer 18.

IGT gaming-machines are implemented with special features and additional circuitry that differentiate them from general-purpose computers (e.g., desktop PC's and laptops). Some of these components and features are included in the network devices of the present invention, as appropriate. Some examples of these additional components and features are described below.

A watchdog timer is normally used in IGT gaming-machines to provide a software failure detection mechanism. In a normally operating system, the operating software periodically accesses control registers in the watchdog timer subsystem to “re-trigger” the watchdog. Should the operating software fail to access the control registers within a preset timeframe, the watchdog timer will timeout and generate a system reset. Typical watchdog timer circuits contain a loadable timeout counter register to allow the operating software to set the timeout interval within a certain range of time. A differentiating feature of the some preferred circuits is that the operating software cannot completely disable the function of the watchdog timer. In other words, the watchdog timer always functions from the time power is applied to the board.

IGT gaming computer platforms preferably use several power supply voltages to operate portions of the computer circuitry. These can be generated in a central power supply or locally on the computer board. If any of these voltages falls out of the tolerance limits of the circuitry they power, unpredictable operation of the computer may result. Though most modern general-purpose computers include voltage monitoring circuitry, these types of circuits only report voltage status to the operating software. Out of tolerance voltages can cause software malfunction, creating a potential uncontrolled condition in the gaming computer. Gaming-machines of the present assignee typically have power supplies with tighter voltage margins than that required by the operating circuitry. In addition, the voltage monitoring circuitry implemented in IGT gaming computers typically has two thresholds of control. The first threshold generates a software event that can be detected by the operating software and an error condition generated. This threshold is triggered when a power supply voltage falls out of the tolerance range of the power supply, but is still within the operating range of the circuitry. The second threshold is set when a power supply voltage falls out of the operating tolerance of the circuitry. In this case, the circuitry generates a reset, halting operation of the computer.

The standard method of operation for IGT slot machine game software is to use a state machine. Each function of the game (bet, play, result, etc.) is defined as a state. When a game moves from one state to another, critical data regarding the game software is stored in a custom non-volatile memory subsystem. In addition, game history information regarding previous games played, amounts wagered, and so forth also should be stored in a non-volatile memory device. This feature allows the game to recover operation to the current state of play in the event of a malfunction, loss of power, etc. This is critical to ensure the player's wager and credits are preserved. Typically, battery backed RAM devices are used to preserve this critical data. These memory devices are not used in typical general-purpose computers.

IGT gaming computers normally contain additional interfaces, including serial interfaces, to connect to specific subsystems internal and external to the slot machine. The serial devices may have electrical interface requirements that differ from the “standard” EIA RS232 serial interfaces provided by general-purpose computers. These interfaces may, for example, include EIA RS485, EIA RS422, Fiber Optic Serial, Optically coupled serial interfaces, current loop style serial interfaces, etc. In addition, to conserve serial interfaces internally in the slot machine, serial devices may be connected in a shared, daisy-chain fashion where multiple peripheral devices are connected to a single serial channel. Those skilled in the art will know various networking hardware and software components that can be used.

IGT Gaming-machines may alternatively be treated as peripheral devices to a casino communication controller and connected in a shared daisy chain fashion to a single serial interface. In both cases, the peripheral devices are preferably assigned device addresses. If so, the serial controller circuitry must implement a method to generate or detect unique device addresses. General-purpose computer serial ports are not able to do this.

Security monitoring circuits detect intrusion into an IGT gaming-machine by monitoring security switches attached to access doors in the slot machine cabinet. Preferably, access violations result in suspension of game play and can trigger additional security operations to preserve the current state of game play. These circuits also function when power is off by use of a battery backup. In power-off operation, these circuits continue to monitor the access doors of the slot machine. When power is restored, the gaming-machine can determine whether any security violations occurred while power was off, e.g., via software for reading status registers. This can trigger event log entries and further data authentication operations by the slot machine software.

Trusted memory devices are preferably included in an IGT gaming-machine computer to ensure the authenticity of the software that may be stored on less secure memory subsystems, such as mass storage devices. Trusted memory devices and controlling circuitry are typically designed to not allow modification of the code and data stored in the memory device while the memory device is installed in the slot machine. The code and data stored in these devices may include authentication algorithms, random number generators, authentication keys, operating system kernels, etc. The purpose of these trusted memory devices is to provide gaming regulatory authorities a root trusted authority within the computing environment of the slot machine that can be tracked and verified as original. This may be accomplished via removal of the trusted memory device from the slot machine computer and verification of the secure memory device contents is a separate third party verification device. Once the trusted memory device is verified as authentic, and based on the approval of the verification algorithms contained in the trusted device, the gaming-machine is allowed to verify the authenticity of additional code and data that may be located in the gaming computer assembly, such as code and data stored on hard disk drives.

FIG. 5 shows a block diagram illustrating components of a gaming system 900 which may be used for implementing various aspects of the present invention. In FIG. 5, the components of a gaming system 900 for providing game software licensing and downloads are described functionally. The described functions may be instantiated in hardware, firmware and/or software and executed on a suitable device. In the gaming system 900, there may be many instances of the same function, such as multiple game play interfaces 911. Nevertheless, in FIG. 5, only one instance of each function is shown. The functions of the components may be combined. For example, a single device may comprise the game play interface 911 and include trusted memory devices or sources 909. Each of the described components may be incorporated by various embodiments described with respect to FIGS. 1-4.

The gaming system 900 may receive inputs from different groups/entities and output various services and or information to these groups/entities. For example, game players 925 primarily input cash or indicia of credit into the system, make game selections that trigger software downloads, and receive entertainment in exchange for their inputs. Game software content providers provide game software for the system and may receive compensation for the content they provide based on licensing agreements with the gaming machine operators. Gaming machine operators select game software for distribution, distribute the game software on the gaming devices in the gaming system 900, receive revenue for the use of their software and compensate the gaming machine operators. The gaming regulators 930 may provide rules and regulations that must be applied to the gaming system and may receive reports and other information confirming that rules are being obeyed.

In the following paragraphs, details of each component and some of the interactions between the components are described with respect to FIG. 5. The game software license host 901 may be a server connected to a number of remote gaming devices that provides licensing services to the remote gaming devices. For example, in other embodiments, the license host 901 may 1) receive token requests for tokens used to activate software executed on the remote gaming devices, 2) send tokens to the remote gaming devices, 3) track token usage and 4) grant and/or renew software licenses for software executed on the remote gaming devices. The token usage may be used in utility based licensing schemes, such as a pay-per-use scheme.

In another embodiment, a game usage-tracking host 915 may track the usage of game software on a plurality of devices in communication with the host. The game usage-tracking host 915 may be in communication with a plurality of game play hosts and gaming machines. From the game play hosts and gaming machines, the game usage tracking host 915 may receive updates of an amount that each game available for play on the devices has been played and on amount that has been wagered per game. This information may be stored in a database and used for billing according to methods described in a utility based licensing agreement.

The game software host 902 may provide game software downloads, such as downloads of game software or game firmware, to various devices in the gaming system 900. For example, when the software to generate the game is not available on the game play interface 911, the game software host 902 may download software to generate a selected game of chance played on the game play interface. Further, the game software host 902 may download new game content to a plurality of gaming machines via a request from a gaming machine operator.

In one embodiment, the game software host 902 may also be a game software configuration-tracking host 913. The function of the game software configuration-tracking host is to keep records of software configurations and/or hardware configurations for a plurality of devices in communication with the host (e.g., denominations, number of paylines, paytables, max/min bets). Details of a game software host and a game software configuration host that may be used with the present invention are described in co-pending U.S. Pat. No. 6,645,077, by Rowe, entitled, “Gaming Terminal Data Repository and Information System,” filed Dec. 21, 2000, which is incorporated herein in its entirety and for all purposes.

A game play host device 903 may be a host server connected to a plurality of remote clients that generates games of chance that are displayed on a plurality of remote game play interfaces 911. For example, the game play host device 903 may be a server that provides central determination for a bingo game play played on a plurality of connected game play interfaces 911. As another example, the game play host device 903 may generate games of chance, such as slot games or video card games, for display on a remote client. A game player using the remote client may be able to select from a number of games that are provided on the client by the host device 903. The game play host device 903 may receive game software management services, such as receiving downloads of new game software, from the game software host 902 and may receive game software licensing services, such as the granting or renewing of software licenses for software executed on the device 903, from the game license host 901.

In particular embodiments, the game play interfaces or other gaming devices in the gaming system 900 may be portable devices, such as electronic tokens, cell phones, smart cards, tablet PC's and PDA's. The portable devices may support wireless communications and thus, may be referred to as wireless mobile devices. The network hardware architecture 916 may be enabled to support communications between wireless mobile devices and other gaming devices in gaming system. In one embodiment, the wireless mobile devices may be used to play games of chance.

The gaming system 900 may use a number of trusted information sources. Trusted information sources 904 may be devices, such as servers, that provide information used to authenticate/activate other pieces of information. CRC values used to authenticate software, license tokens used to allow the use of software or product activation codes used to activate to software are examples of trusted information that might be provided from a trusted information source 904. Trusted information sources may be a memory device, such as an EPROM, that includes trusted information used to authenticate other information. For example, a game play interface 911 may store a private encryption key in a trusted memory device that is used in a private key-public key encryption scheme to authenticate information from another gaming device.

When a trusted information source 904 is in communication with a remote device via a network, the remote device will employ a verification scheme to verify the identity of the trusted information source. For example, the trusted information source and the remote device may exchange information using public and private encryption keys to verify each other's identities. In another embodiment of the present invention, the remote device and the trusted information source may engage in methods using zero knowledge proofs to authenticate each of their respective identities. Details of zero knowledge proofs that may be used with the present invention are described in US publication no. 2003/0203756, by Jackson, filed on Apr. 25, 2002 and entitled, “Authentication in a Secure Computerized Gaming System, which is incorporated herein in its entirety and for all purposes.

Gaming devices storing trusted information might utilize apparatus or methods to detect and prevent tampering. For instance, trusted information stored in a trusted memory device may be encrypted to prevent its misuse. In addition, the trusted memory device may be secured behind a locked door. Further, one or more sensors may be coupled to the memory device to detect tampering with the memory device and provide some record of the tampering. In yet another example, the memory device storing trusted information might be designed to detect tampering attempts and clear or erase itself when an attempt at tampering has been detected.

The gaming system 900 of the present invention may include devices 906 that provide authorization to download software from a first device to a second device and devices 907 that provide activation codes or information that allow downloaded software to be activated. The devices, 906 and 907, may be remote servers and may also be trusted information sources. One example of a method of providing product activation codes that may be used with the present invention is describes in previously incorporated U.S. Pat. No. 6,264,561.

A device 906 that monitors a plurality of gaming devices to determine adherence of the devices to gaming jurisdictional rules 908 may be included in the gaming system 900. In one embodiment, a gaming jurisdictional rule server may scan software and the configurations of the software on a number of gaming devices in communication with the gaming rule server to determine whether the software on the gaming devices is valid for use in the gaming jurisdiction where the gaming device is located. For example, the gaming rule server may request a digital signature, such as CRC's, of particular software components and compare them with an approved digital signature value stored on the gaming jurisdictional rule server.

Further, the gaming jurisdictional rule server may scan the remote gaming device to determine whether the software is configured in a manner that is acceptable to the gaming jurisdiction where the gaming device is located. For example, a maximum bet limit may vary from jurisdiction to jurisdiction and the rule enforcement server may scan a gaming device to determine its current software configuration and its location and then compare the configuration on the gaming device with approved parameters for its location.

A gaming jurisdiction may include rules that describe how game software may be downloaded and licensed. The gaming jurisdictional rule server may scan download transaction records and licensing records on a gaming device to determine whether the download and licensing was carried out in a manner that is acceptable to the gaming jurisdiction in which the gaming device is located. In general, the game jurisdictional rule server may be utilized to confirm compliance to any gaming rules passed by a gaming jurisdiction when the information needed to determine rule compliance is remotely accessible to the server.

Game software, firmware or hardware residing a particular gaming device may also be used to check for compliance with local gaming jurisdictional rules. In one embodiment, when a gaming device is installed in a particular gaming jurisdiction, a software program including jurisdiction rule information may be downloaded to a secure memory location on a gaming machine or the jurisdiction rule information may be downloaded as data and utilized by a program on the gaming machine. The software program and/or jurisdiction rule information may used to check the gaming device software and software configurations for compliance with local gaming jurisdictional rules. In another embodiment, the software program for ensuring compliance and jurisdictional information may be installed in the gaming machine prior to its shipping, such as at the factory where the gaming machine is manufactured.

The gaming devices in gaming system 900 may utilize trusted software and/or trusted firmware. Trusted firmware/software is trusted in the sense that is used with the assumption that it has not been tampered with. For instance, trusted software/firmware may be used to authenticate other game software or processes executing on a gaming device. As an example, trusted encryption programs and authentication programs may be stored on an EPROM on the gaming machine or encoded into a specialized encryption chip. As another example, trusted game software, i.e., game software approved for use on gaming devices by a local gaming jurisdiction may be required on gaming devices on the gaming machine.

In the present invention, the devices may be connected by a network 916 with different types of hardware using different hardware architectures. Game software can be quite large and frequent downloads can place a significant burden on a network, which may slow information transfer speeds on the network. For game-on-demand services that require frequent downloads of game software in a network, efficient downloading is essential for the service to viable. Thus, in the present inventions, network efficient devices 910 may be used to actively monitor and maintain network efficiency. For instance, software locators may be used to locate nearby locations of game software for peer-to-peer transfers of game software. In another example, network traffic may be monitored and downloads may be actively rerouted to maintain network efficiency.

One or more devices in the present invention may provide game software and game licensing related auditing, billing and reconciliation reports to server 912. For example, a software licensing billing server may generate a bill for a gaming device operator based upon a usage of games over a time period on the gaming devices owned by the operator. In another example, a software auditing server may provide reports on game software downloads to various gaming devices in the gaming system 900 and current configurations of the game software on these gaming devices.

At particular time intervals, the software auditing server 912 may also request software configurations from a number of gaming devices in the gaming system. The server may then reconcile the software configuration on each gaming device. In one embodiment, the software auditing server 912 may store a record of software configurations on each gaming device at particular times and a record of software download transactions that have occurred on the device. By applying each of the recorded game software download transactions since a selected time to the software configuration recorded at the selected time, a software configuration is obtained. The software auditing server may compare the software configuration derived from applying these transactions on a gaming device with a current software configuration obtained from the gaming device. After the comparison, the software-auditing server may generate a reconciliation report that confirms that the download transaction records are consistent with the current software configuration on the device. The report may also identify any inconsistencies. In another embodiment, both the gaming device and the software auditing server may store a record of the download transactions that have occurred on the gaming device and the software auditing server may reconcile these records.

There are many possible interactions between the components described with respect to FIG. 5. Many of the interactions are coupled. For example, methods used for game licensing may affect methods used for game downloading and vice versa. For the purposes of explanation, details of a few possible interactions between the components of the gaming system 900 relating to software licensing and software downloads have been described. The descriptions are selected to illustrate particular interactions in the gaming system 900. These descriptions are provided for the purposes of explanation only and are not intended to limit the scope of the present invention.

The many features and advantages of the present invention are apparent from the written description, and thus, it is intended by the appended claims to cover all such features and advantages of the invention. Further, since numerous modifications and changes will readily occur to those skilled. 

1. A computing system for facilitating installation of games on gaming-machines that are suitable or capable of executing said games, said computing system operable to: determine whether each one of a plurality of gaming-machines are suitable for or capable of executing one or more games; and generate data that indicates whether at least one of said plurality of gaming-machines is suitable or capable of executing said one or more games after said determining determines whether said at least one gaming-machine is suitable for or capable of executing said one or more games.
 2. A method for facilitating installation of games on gaming-machines that are suitable or capable of executing said games, said method comprising: determining whether each one of a plurality of gaming-machines are suitable for or capable of executing one or more games; and generating data that indicates whether at least one of said plurality of gaming-machines is suitable or capable of executing said one or more games after said determining determines whether said at least one gaming-machine is suitable for or capable of executing said one or more games.
 3. A method as recited in claim 2, wherein said method further comprises: receiving or identifying said one or more games; and displaying data that indicates whether at least one of said plurality of gaming-machines is suitable or capable of executing said one or more games.
 4. A method as recited in claim 3, wherein said method further comprises: initiating installation or downloading said one or more games on said at least one of said plurality of gaming-machines after said generating or displaying of data that indicates said at least one gaming-machine is suitable for or capable of executing said one or more games.
 5. A method as recited in claim 2, wherein said determining of whether each one of said plurality of gaming-machines are suitable for or capable of executing one or more games comprises: determining capabilities of said plurality of gaming-machines with respect to at least one gaming-requirement for executing said one or more games; and determining, based on said capabilities of said plurality of gaming-machines, whether at least one of said plurality of gaming-machines meets or exceeds said gaming-requirement for executing said one or more games.
 6. A method as recited in claim 5, wherein said determining of capabilities of said plurality of gaming-machines comprises: querying said plurality of gaming-machines for their capabilities with respect to one or more gaming-requirements for executing said one or more games.
 7. A method as recited in claim 2, wherein said capabilities of said plurality of gaming-machines include one or more of the following: hardware capacity, software capacity, gaming regulations, and system-components configured.
 8. A method as recited in claim 2, wherein said method comprises: determining whether a first gaming-machine of said plurality of gaming-machines meets or exceeds a gaming-requirement for executing a first game; determining whether a second gaming-machine meets or exceeds said gaming-requirement for executing said first game when said determining determines that said first machine does not meet or exceed said first gaming-requirement for executing said first game.
 9. A method as recited in claim 2, wherein said method further comprises: determining whether a first gaming-machine of said plurality of gaming-machines meets or exceeds a gaming-requirement for executing a first game of said one or more games; and determining whether a combination of said first gaming-machine and a second gaming-machine of said plurality of gaming-machines collectively meet or exceed said gaming-requirement for executing said first game when said determining determines that said first gaming-machine does not meets or exceed said gaming-requirement.
 10. A method as recited in claim 9, wherein said method further comprises: generating data that indicates said combination of said first and second gaming-machines collectively meet or exceed said gaming-requirement for executing said first game when said determining determines that said combination of said first and second gaming-machine collectively meet or exceed said gaming-requirement for executing a first game.
 11. A method as recited in claim 2, wherein said method further comprises: determining whether a first gaming-machine of said plurality of gaming-machines meets or exceeds a gaming-requirement for executing a first game of said one or more games; and determining whether a component of a second gaming-machine can be added to said first gaming-machine to enable said first gaming-machine to meet or exceed said gaming requirement when said determining determines that said first gaming-machine does not meet or exceeds said gaming-requirement for executing said first game of said one or more games.
 12. A method as recited in claim 2, wherein said method further comprises: identifying a deficiency associated with at least one gaming-machine with respect to execution of at least one game; determining whether said deficiency can be corrected by remedial action; and generation diagnostic-data indicating said remedial action when said determining determines that said deficiency can be corrected by remedial action.
 13. A method as recited in claim 12, wherein said diagnostic-data indicates that a first gaming-machine that lacks one or more requirements required to execute a first game, can still be operable to execute said first gaming-machine.
 14. A method as recited in claim 12, wherein said method further comprises: simulating said first game, thereby demonstrating how said first game may appear on said first gaming-machine.
 15. A method as recited in claim 12, wherein said method further comprises: suggesting a first gaming-machine for execution a first game when it is determined that a second gaming-machine is not capable of or suitable for executing said first game.
 16. A method as recited in claim 12, wherein said method further comprises: suggesting a first game for execution on a first gaming-machine when it is determined that said first gaming-machine is not capable of or suitable for executing a second game.
 17. A method as recited in claim 2, wherein said method further comprises one or more of the following: searching for games that share a common theme; searching for games that are suitable for a first gaming-machine; searching for games that use a particular color theme; and searching for games based on one or more criteria.
 18. A method as recited in claim 2, wherein said method further comprises: simulating a first game that has been identified after a search.
 19. A method as recited in claim 12, wherein said method further comprises: suggesting an upgrade to a first gaming-machine or device associated with said first gaming machine to run a first game, after it is determined that said first gaming-machine is not capable of or suitable for executing said first game.
 20. A method as recited in claim 19, wherein said upgrade is one or more of the following: a software upgrade, a hardware upgrade, and a license upgrade.
 21. A method as recited in claim 12, wherein said method further comprises: one or more of the following: indicating that a first component from a second gaming-machine can be acquired and configured for said first gaming-machine in order to execute said first game on said first gaming-machine.
 22. A method as recited in claim 12, wherein said method further comprises: one or more of the following: estimating the cost associated with said upgrade; estimating the benefit associated with said upgrade;
 23. A method as recited in claim 12, wherein said method further comprises: receiving a layout for a plurality of gaming-machines configured for execution of one or more games; and generating a suggested layout for said layout when one or more gamin-machines of said plurality of gaming-machines are not capable of or suitable of executing one or more games.
 24. A method as recited in claim 23, wherein said suggested layout includes one or more of the following: at least one suggestion regarding an upgrade to at least one of said plurality of gaming-machines; and at least one suggestion regarding moving a first gaming-machine of said plurality of gaming-machines.
 25. A computer readable medium including computer program code for facilitating installation of games on gaming-machines that are suitable or capable of executing said games, wherein said computer readable medium comprises: computer program code for determining whether each one of a plurality of gaming-machines are suitable for or capable of executing one or more games; and computer program code for generating data that indicates whether at least one of said plurality of gaming-machines is suitable or capable of executing said one or more games after said determining determines whether said at least one gaming-machine is suitable for or capable of executing said one or more games. 